package com.zhongge.user;

/**
 * @ClassName User
 * @Description TODO 抽象用户类
 * 由于他代表不了具体的用户，所以设置为抽象。
 * @Author zhongge
 * @Version 1.0
 */
@SuppressWarnings("all")
public abstract class User {
    /**
     * 属性通常是私有的，但是涉及到继承的都是使用protected
     *  因为，子类要使用到父类中的属性所以用protected
     */
    //用户名
    protected String name;
    //用户ID
    protected int userID;
    //用户角色
    protected String role;

    //提供有参构造方法 使得到时候子类可以通过 super调用父类的有参构造方法
    public User(String name, int userID, String role) {
        this.name = name;
        this.userID = userID;
        this.role = role;
    }

    //get和set方法

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getUserID() {
        return userID;
    }

    public void setUserID(int userID) {
        this.userID = userID;
    }

    public String getRole() {
        return role;
    }

    public void setRole(String role) {
        this.role = role;
    }

    //菜单方法 用于选择处不同的用户
    public abstract int menu();
}
